<?php

namespace SyAliPay\Commerce\Fix;

/**
 * ALIPAY API: alipay.commerce.fix.attachment.upload request
 *
 * @author auto create
 *
 * @since 1.0, 2020-04-09 20:56:13
 */
class AttachmentUploadRequest
{
    /**
     * 要上传文件的内容
     */
    private $fileContent;
    /**
     * 上传的文件名
     */
    private $fileName;
    /**
     * 上传文件的类型。枚举，image:图片;video:视频
     */
    private $fileType;
    private $apiParas = [];
    private $terminalType;
    private $terminalInfo;
    private $prodCode;
    private $apiVersion = '1.0';
    private $notifyUrl;
    private $returnUrl;
    private $needEncrypt = false;

    public function setFileContent($fileContent)
    {
        $this->fileContent = $fileContent;
        $this->apiParas['file_content'] = $fileContent;
    }

    public function getFileContent()
    {
        return $this->fileContent;
    }

    public function setFileName($fileName)
    {
        $this->fileName = $fileName;
        $this->apiParas['file_name'] = $fileName;
    }

    public function getFileName()
    {
        return $this->fileName;
    }

    public function setFileType($fileType)
    {
        $this->fileType = $fileType;
        $this->apiParas['file_type'] = $fileType;
    }

    public function getFileType()
    {
        return $this->fileType;
    }

    public function getApiMethodName()
    {
        return 'alipay.commerce.fix.attachment.upload';
    }

    public function setNotifyUrl($notifyUrl)
    {
        $this->notifyUrl = $notifyUrl;
    }

    public function getNotifyUrl()
    {
        return $this->notifyUrl;
    }

    public function setReturnUrl($returnUrl)
    {
        $this->returnUrl = $returnUrl;
    }

    public function getReturnUrl()
    {
        return $this->returnUrl;
    }

    public function getApiParas()
    {
        return $this->apiParas;
    }

    public function getTerminalType()
    {
        return $this->terminalType;
    }

    public function setTerminalType($terminalType)
    {
        $this->terminalType = $terminalType;
    }

    public function getTerminalInfo()
    {
        return $this->terminalInfo;
    }

    public function setTerminalInfo($terminalInfo)
    {
        $this->terminalInfo = $terminalInfo;
    }

    public function getProdCode()
    {
        return $this->prodCode;
    }

    public function setProdCode($prodCode)
    {
        $this->prodCode = $prodCode;
    }

    public function setApiVersion($apiVersion)
    {
        $this->apiVersion = $apiVersion;
    }

    public function getApiVersion()
    {
        return $this->apiVersion;
    }

    public function setNeedEncrypt($needEncrypt)
    {
        $this->needEncrypt = $needEncrypt;
    }

    public function getNeedEncrypt()
    {
        return $this->needEncrypt;
    }
}
